from flask import Flask
from flask import render_template
from flask import request
from openai_demo import ask_gpt

# 创建一个 Flask 应用实例,__name__ 是 Python 内置变量，表示当前模块的名字    
#  __name__ 的作用是让 Flask 知道在哪里查找项目资源（如模板文件夹 templates）。
# 如果直接运行脚本，__name__ 的值是 "__main__"；如果作为模块导入，则是模块名。
app = Flask(__name__)

@app.route("/")  # 定义路由
def home():
    return render_template("index.html", name = "chris")

@app.route("/about")
def about():
    return "About Page"

@app.route("/user/<username>")
def show_user(username):
    return f"User: {username}"

@app.route("/login", methods=["GET", "POST"])
def login():
    if request.method == "POST":
        # 处理登录表单提交
        username = request.form.get("username")
        password = request.form.get("password")
        # 进行登录验证
        if username == "admin" and password == "password":
            return f"登录成功：{username}"
    return "这是登录页面（GET请求）"


@app.route("/ask", methods=["GET", "POST"])
def ask():  
    if request.method == "POST":
        # 处理登录表单提交
        question = request.form.get("question")
        if question:
            answer = ask_gpt(question)
            return render_template("answer.html", question = question, answer = answer)
        else:
            return render_template("ask.html", error = "请输入问题")
    return render_template("ask.html")
    

    

# __name__ 在直接运行脚本时为 "__main__"，作为模块导入时为模块名。
# 避免在其他文件中导入此脚本时意外启动服务器。
if __name__ == "__main__":
    app.run(debug=True)
